/*
 * Copyright 2008-2023 dexian.vip. All rights reserved.
 * Support: http://www.dexian.vip
 * License: http://www.dexian.vip/license
 */

package vip.dexian.common.utils;

import vip.dexian.common.CommonAttributes;
import org.apache.commons.lang3.StringUtils;

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

/**
 * 时间工具类
 *
 * @author 挺好的 2023年05月30日 14:45
 */
public final class LocalTimeUtils {

    private LocalTimeUtils () {
    }

    /**
     * 创建{@link java.time.LocalTime}
     *
     * @param hour
     *         小时，0-23
     * @param minute
     *         分钟，0-59
     * @param second
     *         秒数，0-59
     *
     * @return {@link java.time.LocalTime}
     */
    public static LocalTime of (int hour, int minute, int second) {
        return LocalTime.of(hour, minute, second);
    }

    /**
     * 格式化时间，如果pattern is empty， 将使用模式({@link CommonAttributes.DatePattern#TIME_2}) 格式化时间。
     *
     * @param pattern
     *         时间模式
     * @param localTime
     *         待格式化的时间
     *
     * @return 如果localTime为null，返回 null
     */
    public static String format (String pattern, LocalTime localTime) {
        if (localTime == null) {
            return null;
        }

        if (StringUtils.isEmpty(pattern)) {
            pattern = CommonAttributes.DatePattern.TIME_2;
        }

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);

        return formatter.format(localTime);

    }

}

